﻿namespace Kent.Boogaart.Gauntlet
{
	/// <summary>
	/// Defines the interface for an input translator, which is used to translate the input into a usable format.
	/// </summary>
	/// <remarks>
	/// <para>
	/// Implementations of this interface are used to translate the input into something that can be used by the output generator.
	/// They can do this by placing a translated version of the input into the context state.
	/// </para>
	/// </remarks>
	public interface IInputTranslator
	{
		/// <summary>
		/// Translates the input into a something that the output generator can use.
		/// </summary>
		/// <param name="context">
		/// The context for the generation operation.
		/// </param>
		void Translate(Context context);
	}
}